using Akcedo.Framework.Infrastructure.ASPNet;
using FwkLight.Application.Caching;
using FwkLight.Web;
using FwkLight.Web.MVC;
using FwkLight.Web.UserSession;
using StructureMap.Configuration.DSL;

namespace FwkLight.DependencyRegistries
{
  public class BaseApplicationRegistry : Registry
  {
    public BaseApplicationRegistry ( )
    {
      FillAllPropertiesOfType<IRequestItemDictionary>().TheDefaultIsConcreteType<RequestItemDictionary>();
      FillAllPropertiesOfType<ICacheItemDictionary>().TheDefault.Is.OfConcreteType<CacheItemDictionary>();

    }

  }

  public class GeneralRegistry : Registry
  {
    public GeneralRegistry ( )
    {
      ForRequestedType<IBaseUserSession>().TheDefaultIsConcreteType<BaseUserSession>();
      ForRequestedType<IDisplayErrorMessages>().TheDefaultIsConcreteType<DisplayErrorMessages>();
      ForRequestedType<IDisplaySuccessMessages>().TheDefaultIsConcreteType<DisplaySuccessMessages>();
    }
  }
}